1. Field of the Invention
The present invention relates to computer systems exchanging data, and more specifically to a method and apparatus for reducing overhead when service requests and responses are exchanged between such computer systems.
2. Related Art
Systems are often designed to send various service requests and receive corresponding responses. For clarity, the system requesting a service (by sending a service request) is generally referred to as a client system, and the system processing the service request and providing the response is referred to as a server system.
In general, a server system offers severed services, and accordingly a service request contains a service identifier (uniquely identifying the service, for example, in the form of a name of the service). The service request may also contain various parameter values which are used in processing the service request.
There is a general need to reduce various types of overhead (e.g., processing or amount of data exchanged) when such service requests and responses are exchanged between the server and client systems. An example scenario where such a need exists is when structured representations facilitate the exchange of service requests and responses. A structured representation generally refers to an approach in which tags are associated with the user data (i.e., substantive data sought to be communicated for use by user applications) to indicate various attributes (e.g., what the data represents, how the data is to be displayed) of the user data.
Thus, in the context of a service request, some tags specify that the associated user data portion represents a service identifier and another tag indicates what an associated parameter value represents (e.g., customer name or quantity). Simple Object Access Protocol (SOAP) represents an example protocol which is based on eXtended Markup Language (XML) (an example of a structured representation). Other such protocols include, but not limited to, CORBA (Common Object Request Broker Architecture) and RMI (Remote Method Invocation) well known in the relevant arts.
In general, such protocols and representations provide various advantages such as facilitating service requests and processing between disparate client and server systems implemented by independent parties. In addition, since the tags specify what the associated user data portion represents, various data portions of interest can be sent in any desired sequence.
However, various overheads are often presented due to the use of such protocols and representations. For example, a server system needs to parse the data representing a service request according to XML/SOAP specified conventions to interpret the user data, and a client system needs to package user data according to the same convention. Such parsing and packaging generally adds to the processing overhead. Similarly, the presence of additional data tags adds to the data transfer overhead on networks.
Accordingly, what is needed is a method and apparatus which enables such overhead to be reduced when service requests and responses are exchanged using protocols based on structured representation.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the corresponding reference number.